package com.aop;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


// 适用类、接口（包括注解类型）或枚举
//@Retention(RetentionPolicy.RUNRTIME)
//@Target(ElementType.TYPE)

// 适用field属性，也包括enum常量
//@Retention(RetentionPolicy.RUNTIME)
//@Target(ElementType.FIELD)

/*
@interface是用来定义java annotation（注解）的。这个声明定义的叫MoocMethod的注解，可以用在标记其他类的方法(@Target(ElementType.METHOD) )，并且这个注解是运行时有效的（@Retention(RetentionPolicy.RUNTIME) ）
*/


//// 适用方法
@Target(ElementType.METHOD)  //用于描述方法
@Retention(RetentionPolicy.RUNTIME) //注解不仅被保存到class文件中，jvm加载class文件之后，仍然存在；
public @interface Transaction {

}
/*
// 适用类、接口（包括注解类型）或枚举
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface ClassInfo {
    String value();
}
// 适用field属性，也包括enum常量
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
 @interface FieldInfo {
    int[] value();
}
// 适用方法
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
 @interface MethodInfo {
    String name() default "long";
    String data();
    int age() default 27;
}*/
